package com.edu.dsai.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CORSConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") //所有的路径都开放，如/sse/connect、/test/hello、/ollama/chat等
                .allowedOriginPatterns("*") //允许域名访问的规则，*表示允许所有的域名访问，推荐使用
//                .allowedOrigins("http://192.168.1.196:5500") //只允许特定的前端访问,必须精确配置，不允许使用通配符，不推荐使用
//                .allowedOrigins("http://127.0.0.1:5500") //只允许特定的前端访问,必须精确配置，不允许使用通配符，不推荐使用
                .allowedMethods("*")//允许访问所有的访问方法，如"GET", "POST", "PUT", "DELETE", "OPTIONS"
                .allowedHeaders("*")//允许携带header相关的参数，即允许携带所有的请求头，包括：Content-Type、Authorization、自定义header等
                .allowCredentials(true)//是否允许携带凭证信息，true表示携带cookies、认证信息等凭证，false表示浏览器不会发送cookies
                .maxAge(3600); // 配置预检请求(Preflight)的缓存时间，单位是秒，默认3600s，即1小时，浏览器会缓存OPTIONS预检请求的结果，减少重复查询
    }
}
